package org.flower.isme.flower.service;

import org.flower.isme.common.response.Page;
import org.flower.isme.flower.domain.dto.FlowerDetailsDto;
import org.flower.isme.flower.domain.dto.FlowerEnvirmentDataDto;
import org.flower.isme.flower.domain.dto.PlantsDetailsDto;
import org.flower.isme.flower.domain.dto.PlantsPageDto;
import org.flower.isme.flower.domain.entity.Plants;
import com.baomidou.mybatisplus.extension.service.IService;
import org.flower.isme.flower.domain.request.PlantsPageRequest;
import org.flower.isme.flower.domain.request.UpdatePlantRequest;


public interface PlantsService extends IService<Plants> {

    /**
     * 分页查询植物列表
     *
     * @param plantsPageRequest 查询信息
     * @return Page
     */
    Page<PlantsPageDto> queryPage(PlantsPageRequest plantsPageRequest);

    /**
     * 根据id删除植物
     *
     * @param id id
     */
    void removePlant(Long id);

    /**
     * 通过id上传图片路径
     *
     * @param update 信息
     */
    void uploadImage(UpdatePlantRequest update);

    /**
     * 通过id获取植物详情
     *
     * @param id 植物id
     * @return PlantsDetailsDto
     */
    PlantsDetailsDto queryPlantsDetails(Long id);


    /**
     * 根据id更新植物描述
     *
     * @param update 植物详情
     */
    void updatePlantsDescription(UpdatePlantRequest update);


    /**
     * 通过id获取植物详情
     *
     * @param plantId 植物id
     * @return FlowerDetailsDto
     */
    FlowerDetailsDto queryFlowerDetailsByPlantId(Long plantId);

    /**
     * 获取环境温度
     *
     * @return FlowerEnvirmentDataDto
     */
    FlowerEnvirmentDataDto queryFlowerEnvirmentData();

}
